home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS18.ADF / Progs / StarProbe / SPRPT.C < prev   
Text File  |  1989-01-27  |  3KB  |  128 lines

  1. /****************************************************************************
  2.  ***                                                                      ***
  3.  ***      S T A R   P R O B E        R E P O R T                          ***
  4.  ***                                                                      ***
  5.  ****************************************************************************/
  6. /*****
  7.  ***  This module reports all results.
  8.  *****/
  9.  
  10. #include "stdio.h"
  11. #include "math.h"
  12. #include "limits.h"
  13. #include <dos.h>
  14. #include "spmac.h"
  15. #include "spref.h"
  16.  
  17. extern FILE *pf;
  18.  
  19. /*****
  20.  ***  R e p o r t   G l o b a l
  21.  *****/
  22.  
  23. void report_global()
  24. {
  25.  iam(90);
  26.  block(in,"report",0.0);
  27.  
  28. fprintf(pf,"+++++++++++++++++++++++++++++++++++++++++++++++++\n");
  29. fprintf(pf,"+ Core Values:\n");
  30. fprintf(pf,"+   Temp   = %g\n",coretemp);
  31. fprintf(pf,"+   Press  = %g\n",corepress);
  32. fprintf(pf,"+   Dens   = %g\n",coredensity);
  33. fprintf(pf,"+   Energy = %g\n",eval_energy_rate(coredensity,coretemp));
  34. fprintf(pf,"+   Opacity= %g\n",eval_opacity(corepress,coretemp));
  35. fprintf(pf,"+ Global Values:\n");
  36. fprintf(pf,"+   MeanMolWeight = %g\n",u);
  37. fprintf(pf,"+     X=%g  Y=%g  Z=%g\n",X,Y,Z);
  38. fprintf(pf,"+   Surface Temp  = %g\n",efftemp);
  39. fprintf(pf,"+   Mass Ratio    = %g (%g)\n",massratio,(massratio*SM));
  40. fprintf(pf,"+   Lum Ratio     = %g (%g)\n",lumratio,(lumratio*SL));
  41. fprintf(pf,"+   Radius Ratio  = %g (%g)\n",radratio,(radratio*SR));
  42. fprintf(pf,"+++++++++++++++++++++++++++++++++++++++++++++++++\n");
  43.  
  44.  block(out,"report",0.0);
  45. }
  46.  
  47. /*****
  48.  ***  R e p o r t   D e t a i l
  49.  *****/
  50.  
  51. void report_detail()
  52. {
  53.  iam(91);
  54.  block(in,"detail",0.0);
  55.  
  56. fprintf(pf,"+++++++++++++++++++++++++++++++++++++++++++++++++\n");
  57. fprintf(pf,"+ Current Values at MassFraction of %g\n",(m/mass));
  58. fprintf(pf,"+   Temp    = %g\n",temp);
  59. fprintf(pf,"+   Press   = %g\n",pressure);
  60. fprintf(pf,"+   Density = %g\n",density);
  61. fprintf(pf,"+   Mass    = %g\n",m);
  62. fprintf(pf,"+   Lum     = %g\n",lum);
  63. fprintf(pf,"+   Radius  = %g\n",radius);
  64. fprintf(pf,"+   Opacity = %g\n",opacity);
  65. fprintf(pf,"+   Energy  = %g\n",eval_energy_rate(density,temp));
  66. fprintf(pf,"+++++++++++++++++++++++++++++++++++++++++++++++++\n");
  67.  
  68.  block(out,"detail",0.0);
  69. }
  70.  
  71. /*****
  72.  ***  R e p o r t   R e s u l t s
  73.  *****/
  74.  
  75. void report_results()
  76. {
  77.  iam(92);
  78.  int i;
  79.  block(in,"results",0.0);
  80.  
  81. fprintf(pf,"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR\n");
  82. fprintf(pf,"R    I N T E G R A T I O N   R E S U L T S \n");
  83. fprintf(pf,"R\n");
  84. fprintf(pf,"R i  Pressure     Temperature  Luminosity   Radius\n");
  85. fprintf(pf,"R -  --------     -----------  ----------   ------\n");
  86. fprintf(pf,"R\n");
  87.  
  88.  for (i=0;i<6;i++)
  89.   fprintf(pf,"R %1d %g %g %g %g\n",i,
  90.           results[0][i],results[1][i],results[2][i],results[3][i]);
  91.  
  92. fprintf(pf,"R\n");
  93. fprintf(pf,"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR\n");
  94.  
  95.  block(out,"results",0.0);
  96. }
  97.  
  98.  
  99. /*****
  100.  ***  D u m p   D a t a
  101.  *****/
  102.  
  103. char name[30];
  104.  
  105. void dump_data(tries)
  106. int tries;
  107. {
  108.  iam(93);
  109.  int i;
  110.  FILE *f;
  111.  
  112.  block(in,"dumpdata",0.0);
  113.  
  114.  sprintf(name,"spdata%d",tries);
  115.  f = fopen(name,"w");
  116.  
  117.  fprintf(f,"%d\n",gradsteps);
  118.  
  119.  for (i=0;i<gradsteps;i++)
  120.    fprintf(f,"%g %g %g %g %g %g %g %g\n",tmassgrad[i],pressgrad[i],tempgrad[i],
  121.       lumgrad[i],radiusgrad[i],densgrad[i],opctygrad[i],energygrad[i]);
  122.  
  123.  fclose(f);
  124.  
  125.  block(out,"dumpdata",0.0);
  126. }
  127.  
  128.